home *** CD-ROM | disk | FTP | other *** search
/ Software USA 4 #3 / Software USA Volume 4.03.iso / mac / Home and Office / Hi's Universal Saver / Menu Events 1.3 / Menu Events Help / Menu Events Help.rsrc / STR#_1026.txt < prev    next >
Encoding:
Text File  |  1996-03-06  |  6.0 KB  |  267 lines

  1. 
  2.  
  3. 
  4.  
  5. x
  6.  
  7. x
  8.  
  9. √•What Does Menu Events Do?
  10.  
  11. 
  12.  
  13. 
  14.  
  15. Menu Events is a system extension.  Once you have placed it in your
  16.  
  17. Extensions folder and restarted your Macintosh, it adds a small suite of
  18.  
  19. Apple events (‚ÄúMenu events‚Äù) to the set supported by every
  20.  
  21. high-level-event-aware application.  Also, if the Caps Lock key is down,
  22.  
  23. it alters menu selection logic so that the selection is recorded as a Menu
  24.  
  25. event.  This capability allows a script editor to record menu actions as
  26.  
  27. script commands.
  28.  
  29. 
  30.  
  31. 
  32.  
  33. Many people are justly wary of control panels and system extensions,
  34.  
  35. because of the conflicts they often cause with System software and with
  36.  
  37. each other.  These conflicts usually result from competitive trap patching.
  38.  
  39. 
  40.  
  41. Menu Events installs a GetNextEvent filter and patches the MenuSelect
  42.  
  43. trap at system startup to enable the Apple event recording capability, and
  44.  
  45. installs an Apple event handler in the system dispatch table.  The Apple
  46.  
  47. event handler cannot conflict with any other, because it is bound
  48.  
  49. specifically to the Menu event class.  Menu Events does patch some traps
  50.  
  51. ‚Äúon the fly‚Äù to simulate menu selection, but the patches remove
  52.  
  53. themselves immediately.
  54.  
  55. 
  56.  
  57. There are three events defined in the suite, and they work as follows.
  58.  
  59. See the section entitled ‚ÄúMenu Events Suite‚Äù for more information on the
  60.  
  61. Menu Events suite.
  62.  
  63. 
  64.  
  65. 
  66.  
  67. 
  68.  
  69. xQuery Menu List Event
  70.  
  71. 
  72.  
  73. This event, with no parameters, queries the menu list of the target
  74.  
  75. application.  If the application is high-level-event-aware, not
  76.  
  77. background-only, and has a menu bar, it will return a list of records, each
  78.  
  79. containing a menu ID (integer), a title (string), an enable/disable
  80.  
  81. (Boolean), and a menu definition procedure resource ID (integer)
  82.  
  83. parameter.  If you do not know the IDs or titles of the target application‚Äôs
  84.  
  85. menus, this is one way to find out.  (Another way is to press the Caps
  86.  
  87. Lock key and record menu actions using a script editor; yet another is to
  88.  
  89. use the Menu Grabber application, also part of AWOL Utilities.)  Be aware
  90.  
  91. that menu IDs do not have to agree with 'MENU' resource IDs, though they
  92.  
  93. often do.
  94.  
  95. 
  96.  
  97. See the section entitled ‚ÄúSuggestions for Use‚Äù for more information on
  98.  
  99. Menu Grabber.
  100.  
  101. 
  102.  
  103. System menus (Keyboard, Help, Application), hierarchical menus, and
  104.  
  105. pop-up menus do not appear in this list, but the Apple menu does.
  106.  
  107. 
  108.  
  109. NOTE:  The standard menu definition procedure ('MDEF') resource ID is 0.
  110.  
  111. A value of -1 indicates that the menu definition procedure is not a
  112.  
  113. resource.  Non-standard menu definition procedures may have abnormal
  114.  
  115. ways of counting, disabling, and displaying menu items, so be careful with
  116.  
  117. them.
  118.  
  119. 
  120.  
  121. 
  122.  
  123. 
  124.  
  125. xQuery Menu Event
  126.  
  127. 
  128.  
  129. This event, given a menu ID (integer) and/or menu title (string)
  130.  
  131. parameter, queries the items of a certain target application menu.  If the
  132.  
  133. application has a menu with that ID and/or title, be it a regular, system,
  134.  
  135. hierarchical, or pop-up menu, it will return a list of records, one per
  136.  
  137. menu item, each containing a menu item ID (integer), an item text
  138.  
  139. (string), an enable/disable (Boolean), a mark character (integer), an icon
  140.  
  141. ID (integer), a style value (integer), and a Command character (integer)
  142.  
  143. parameter.  The items are numbered starting from 1 at the top end of the
  144.  
  145. menu.  Separators appear as disabled items with an item text of ‚Äú-‚Äù.
  146.  
  147. 
  148.  
  149. 
  150.  
  151. This event simulates a simple click in the application‚Äôs menu bar, to force
  152.  
  153. it to bring its menus up to date.
  154.  
  155. 
  156.  
  157. You may optionally include Boolean parameters to indicate which modifier
  158.  
  159. keys (Shift, Control, Option, Command) are pressed at the time of the
  160.  
  161. simulated menu bar click, in case this makes a difference in the content of
  162.  
  163. the menu.
  164.  
  165. 
  166.  
  167. This event does work for menus which use a non-standard menu definition
  168.  
  169. procedure ('MDEF'), but the results may or may not reflect what you see
  170.  
  171. when you pull down the menu, depending on how the procedure was
  172.  
  173. programmed.
  174.  
  175. 
  176.  
  177. This event brings the target application to the front before forcing the
  178.  
  179. menu bar click upon it.  If the sender was on the same machine, and was
  180.  
  181. previously in front, it returns to the front after the menu query is
  182.  
  183. complete.
  184.  
  185. See the section entitled ‚ÄúHow Does Menu Events Work?‚Äù for more
  186.  
  187. information about the method by which Menu Events activates the target
  188.  
  189. application.
  190.  
  191. 
  192.  
  193. 
  194.  
  195. 
  196.  
  197. xSelect Menu Item Event
  198.  
  199. 
  200.  
  201. This event, given a menu ID (integer) and/or menu title (string)
  202.  
  203. parameter and a menu item ID (integer) and/or menu item text (string)
  204.  
  205. parameter, asks the application to act as though the user pulled down that
  206.  
  207. menu and selected that item.  This does not work for the Keyboard and
  208.  
  209. Application menus, which are not under the control of the application, nor
  210.  
  211. for the upper (System-defined) part of the Help menu, but it works for
  212.  
  213. any regular, application-defined, enabled menu item.
  214.  
  215. 
  216.  
  217. 
  218.  
  219. If you use the menu item text parameter to specify the menu item to
  220.  
  221. select, be sure to match any special characters in the text, especially the
  222.  
  223. ellipsis ('‚Ķ') character which often appears at the end of the string,
  224.  
  225. which is not the same as three period characters, despite its appearance.
  226.  
  227. 
  228.  
  229. You may optionally include Boolean parameters to indicate which modifier
  230.  
  231. keys (Shift, Control, Option, Command) are pressed at the time of the
  232.  
  233. simulated menu item selection, in case this makes a difference in the
  234.  
  235. effect of the selection.
  236.  
  237. 
  238.  
  239. This event does work for menus which use a non-standard menu definition
  240.  
  241. procedure ('MDEF'), but the results may or may not reflect what happens
  242.  
  243. when you select from the menu, depending on how the procedure was
  244.  
  245. programmed.
  246.  
  247. 
  248.  
  249. This event brings the target application to the front before forcing the
  250.  
  251. menu selection upon it.  If the sender was on the same machine, and was
  252.  
  253. previously in front, it returns to the front after the menu action is
  254.  
  255. complete.
  256.  
  257. See the section entitled ‚ÄúHow Does Menu Events Work?‚Äù for more
  258.  
  259. information about the method by which Menu Events activates the target
  260.  
  261. application.
  262.  
  263. 
  264.  
  265. 
  266.  
  267.